import { StyledConfig, StyledThemeProvider } from '@/types';

/**
 * 创建一个 styled api 的 ThemeProvider
 *  如果用户有设定 ThemeProvider，就使用用户的，否则使用 ThemeContext.Provider
 * @param styledConfig
 */
export const createStyledThemeProvider = (styledConfig: StyledConfig): StyledThemeProvider => {
  if (styledConfig.ThemeProvider) return styledConfig.ThemeProvider;

  const { ThemeContext } = styledConfig;
  return (props) => (
    <ThemeContext.Provider value={props.theme}>{props.children}</ThemeContext.Provider>
  );
};
